package tables

const (
	AppHostStatusActivated = 1 // 正常
	AppHostStatusMaintain  = 2 // 维护
	AppHostStatusDisabled  = 3 // 禁用

	AppHostOsForWindows = 1 // windows
	AppHostOsForLinux   = 2 // linux

	AppHostOriginForClient = 1 // 主机来源：规划内
	AppHostOriginForDocker = 2 // 主机来源：docker
	AppHostOriginForOther  = 3 // 主机来源：其他，例如手工添加

)

type VapHost struct {
	Id int64 `json:"id,string" gorm:"primaryKey"`

	Uid            string `json:"uid"`
	HostName       string `json:"hostName"`
	Mac            string `json:"mac "`
	Ip             string `json:"ip"`
	Domain         string `json:"domain"`         // eg:WORKGROUP, 域
	Os             string `json:"os"`             // 系统类型：windows / linux
	OsCaption      string `json:"osCaption"`      // eg: Microsoft Windows 10 专业版 , 系统标题
	PartOfDomain   bool   `json:"partOfDomain"`   // eg:false, 计算机是否入域
	SystemType     string `json:"systemType"`     // eg；x64-based PC ，系统类型
	BuildNumber    string `json:"buildNumber"`    // eg : 19043 .操作系统的构建号,它比产品发布版本号更精确的版本信息。
	OsArchitecture string `json:"osArchitecture"` // eg: 64位 ，操作系统位数
	Version        string `json:"version"`        // eg:10.0.19043 ,系统版本号
	SerialNumber   string `json:"serialNumber"`   // eg:00330-80191-48344-AA161, 操作系统产品序列号。
	RdpPort        int    `json:"rdpPort"`
	CpuInfo        string `json:"cpuInfo"`

	Origin       int    `json:"origin"` // 主机来源： 1-规划内，2-docker，3-其他
	Status       int    `json:"status"` // 状态 ，1-正常，2-维护，3-禁用
	ClusterID    int64  `json:"clusterID,string"`
	BindUserID   int64  `json:"bindUserID,string"`
	LockedUserID int64  `json:"lockedUserID"`
	Username     string `json:"username"`
	Password     string `json:"password"`
	AutoCreateInfo
}

func (r *VapHost) TableName() string {
	return "vap_host"
}
